﻿// -----------------------------------------------------------------------
// <copyright file="IEmployeeService.cs" company="AGR">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace AGR.Services.Employee
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Linq.Expressions;
    using AGR.Model;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public interface IEmployeeService : IDisposable
    {
        Employee GetEmployee(string employeeCode);
        Employee GetEmployee(Expression<Func<Employee, bool>> predicate);

        IList<Employee> GetAllEmployees();
        IList<Employee> GetAllEmployees(Expression<Func<Employee, bool>> predicate);

        ActionResult AddEmployee(Employee employee);
        ActionResult UpdateEmployee(Employee employee);
        ActionResult DeleteEmployee(string employeeCode);
        ActionResult DeleteEmployee(Expression<Func<Employee, bool>> predicate);
    }
}
